Virtual testing refers to the testing of control software in a virtual environment. Control software is software meant to be disposed in an embedded computer system in order to control an automated technical process. Especially in the case of safety critical control software it is common to test and validate the control software in a virtual environment before testing in the field. A simulation model is created to simulate the environment in which the control software is destined to work, including sensors on whose sensor data the control software relies, and actuators which the control software is configured to control. The simulation model is set up to feed simulated sensor data into the control software, to read actuator data from the control software, and to account for the actuator data in each time step of the simulation.
Simulation models for control software are commonly created in graphical programming environments, such as Simulink by MathWorks or LabVIEW by National Instruments. Also, various parametrization software tools exist to help a user keep track of the numerous parameters in a large simulation model corresponding to a graphical program. Examples include ModelDesk by dSPACE, CarMaker by IPG Automotive, or DYNA4 by TESIS. These tools are programmed to analyze a simulation model and display the alterable parameters scattered over the simulation model in a hierarchical tree structure, making it easier to find a certain parameter and alter it via the tree structure.
The composition of nodes in the hierarchical tree is usually determined by predefined rules or specifications programmed into the parametrization software. In recent times, however, simulation models in some fields, especially in the field of automotive control systems, have grown ever more complex, making it increasingly difficult to define a strict set of rules that will always generate a clear and meaningful composition of nodes. There is need for a convenient method to customize the structure of the hierarchical tree of parameters in a parametrization software.
A graphical programming environment may be software that provides access to a block library, the block library containing a number of elementary blocks, at least some of the elementary blocks being set up to perform a basic data operation. The graphical programming environment may be set up to receive user input to place a number of elementary blocks extracted from the block library, connect the extracted blocks via line connectors, wherein a line connector between two blocks indicates data flow between said blocks, such that the extracted blocks and the line connectors as a whole constitute a simulation model. The graphical programming environment may also be set up to receive user input to organize the elementary blocks in the simulation model in subsystems, wherein each subsystem may contain a number of elementary blocks and/or further subsystems. The graphical programming environment may also be set up to run the simulation model on the fly or to translate the simulation model's program logic into a programming language or a machine language, thus making the simulation model runnable on a processing unit independently from the graphical programming environment.